﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

#pragma once

namespace gcmp { 

/// \brief 捕捉类型
enum class SnapType : int32_t
{
    Invalid = -1,            ///< 不合法的捕捉
    Point = 0,               ///< 点捕捉
    StartPoint = 1,          ///< 起始点捕捉
    EndPoint = 2,            ///< 终止点捕捉
    MiddlePoint = 3,         ///< 中点捕捉
    Nearest = 4,             ///< 最近点捕捉
    Horizontal = 5,          ///< 水平捕捉
    Vertical = 6,            ///< 竖直点捕捉
    Intersect = 7,           ///< 交点捕捉
    PerpendicularPoint = 8,  ///< 垂足点捕捉
    Center = 9,              ///< 圆心点捕捉
    CenterByCurve = 10,      ///< 圆弧中心点捕捉
    Tangent = 11,            ///< 切点捕捉
    Grid = 12,               ///< 网格捕捉
    Extension = 13,          ///< 延伸捕捉
    Parallel = 14,           ///< 平行捕捉
    Perpendicular = 15,      ///< 垂直捕捉
    Angle = 16,              ///< 角度增量捕捉
    Length = 17,             ///< 长度增量捕捉
    OriginalLine = 18,       ///< 原始线捕捉
    QuadrantPoint = 19,      ///< 象限点捕捉
    CustomPoint = 20,        ///< 自定义点捕捉
    Collinear = 21,          ///< 共线捕捉
    ParallelX = 22,          ///< 与X平行捕捉,仅适用于三维捕捉
    ParallelY = 23,          ///< 与Y平行捕捉,仅适用于三维捕捉
    ParallelZ = 24           ///< 与Z平行捕捉,仅适用于三维捕捉
};

}// namespace gcmp
